1. Technical Field
One or more embodiments of the present disclosure relate generally to generating network applications (e.g., native mobile applications or web pages). More specifically, one or more embodiments of the present disclosure relate to systems and methods for automatically generating one or more network applications from a design mock-up created using a design program.
2. Background and Relevant Art
Designers of network applications often use image editing and other design programs, such as ADOBE® PHOTOSHOP® to create detailed mockup designs of a network application. For example, a designer lays out images, text, and other elements, as he or she would like them presented to an end user in the network application. When the network application involves multiple pages, the designer individually arranges and mocks up each page.
When a designer completes the mockup of the network application, the next step is to code a network application, such as a webpage. Either the designer needs to become proficient as a developer so as to be able to code the webpage or the designer must pass the design mockup over to a developer. A developer (whether the designer or another person) uses the design mockup as a model/template in recreating the network application from scratch. In general, the developer identifies elements, such as images and text, in the model design and hand codes each element according to the design mockup. Further, the developer may have to manually code the functionality of each design element. As such, the process of developing a network application from a design mockup can take weeks, or longer, to complete.
In addition, in order to hand code a design mockup to convert the mockup into a network application, the developer may need to have the sufficient knowledge, expertise, and skills to complete the task. If the developer does not have the proper skills or expertise, the developer often must spend time learning the additional skills, which adds time to the development process. Alternatively, the developer can seek assistance from other developers. For example, when the design is complex or requires complex functionality, the developer can work with other developers in a team. But working with a team does not necessarily improve the speed of development, and often adds additional delays to the development process.
As an additional problem, when a design is used as a model for multiple network applications, distributed via multiple distribution channels (e.g., mobile, web, email), the developer often needs to separately code each network application. As such, depending on the number of network applications and the complexity involved with the development of each network application, the time needed to complete development of the network application may be further extended.
As another drawback with conventional systems and methods, when the designer passes off the design to a separate developer, the designer often has to relinquish control of the design to the developer and allow the developer to modify the design for development purposes. For example, if the developer encounters issues with the proposed functionality or layout of an element in the design, the developer may modify the element or change the desired functionality. Each time the developer deviates from the design; the designer loses ownership/control of the intended design.
Further, if the designer is not satisfied with the network application after the developer completes developing the network application, the designer may apply changes such that the developer needs to recode the network application. For example, the designer may not be satisfied when the developer modifies elements of the design. In many instances, the designer needs to meet with the developer when having the developer apply the requested changes, which is not always possible and often not convenient for either the designer or the developer.
These and other Internet-based problems exist with conventional systems and methods of generating network applications from a design mock-up.